home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / lisp / kcl / akcl / akcl1615.lha / c / u370_emul.s < prev    next >
Text File  |  1990-11-04  |  1KB  |  83 lines

  1.     file_    tmp.c
  2.     entry    $oVhc2_1r
  3. $oVhc2_1r    equ    0
  4.     entry    $oVO
  5. $oVO    equ    0
  6. L$$C0    csect
  7.     ds    0d
  8. L00$TEXT    equ    *
  9.     entry    _extended_mul
  10. * -------------| extended_mul |-----------------------#
  11.     ds    0f
  12.     dc    al2(0)    arglength in words
  13.     dc    xl2'FFFF'    argument regs unknown
  14.     dc    al4(LE$1-_extended_mul)    code size
  15.     dc    xl2'0000'    no flags currently defined
  16.     dc    al1(5)    parmlength in words
  17.     dc    al1(1)    format
  18. _extended_mul    ds    0h
  19. LX$011    equ    *
  20.     using    LX$011,12
  21.     stm    LR$1,15,x'10'+LV$1(13)
  22.     lr    12,13
  23.     la    11,x'60'
  24.     slr    13,11
  25.     st    12,4(,13)
  26.     lr    12,15
  27.     lr    15,1
  28.     mr    14,0
  29.     alr    15,2
  30. # branch on carry
  31.     bc      3,Loverflow
  32. # store the results
  33. Lresult sldl    14,1(0)
  34.     srl     15,1(0)
  35.     l    1,x'B8'(,13)    # lp
  36.     st    15,0(,1)
  37.     st    14,0(,3)
  38.     lm    LR$1,14,x'70'+LV$1(13)
  39.     br    14
  40. Loverflow ah    14,LC$014
  41.         b    Lresult
  42. LE$1    equ    *
  43. LR$1    equ    2
  44. LV$1    equ    0
  45. LC$014    equ    *
  46.     dc    xl2'0001'
  47.     end
  48.     entry    _extended_div
  49. * -------------| extended_div |-----------------------#
  50.     ds    0f
  51.     dc    al2(0)    arglength in words
  52.     dc    xl2'FFFF'    argument regs unknown
  53.     dc    al4(LE$2-_extended_div)    code size
  54.     dc    xl2'0000'    no flags currently defined
  55.     dc    al1(5)    parmlength in words
  56.     dc    al1(1)    format
  57. _extended_div    ds    0h
  58. LX$021    equ    *
  59.     using    LX$021,12
  60.     stm    LR$2,15,x'10'+LV$2(13)
  61.     lr    12,13
  62.     la    11,x'60'
  63.     slr    13,11
  64.     st    12,4(,13)
  65.     lr    12,15
  66. * put h,l in 14,15
  67.     lr     14,1
  68.     lr     15,2
  69.     sll    15,1
  70.     srdl    14,1
  71.     dr    14,0
  72. * store the quotient
  73.     st    15,0(,3)
  74.     l    1,x'B8'(,13)    # rp
  75. * store the remainder
  76.     st    14,0(,1)
  77.     lm    LR$2,14,x'70'+LV$2(13)
  78.     br    14
  79. LE$2    equ    *
  80. LR$2    equ    2
  81. LV$2    equ    0
  82.     end
  83.